<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>test</title>
    <style></style>
    <script src="https://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script>
</head>
<body>
<a href="https://oapi.dingtalk.com/connect/qrconnect?appid=dingoai5mopxjuz54qko9f&response_type=code&scope=snsapi_login&state=STATE&redirect_uri=http://127.0.0.1:8080/callback">钉钉</a>
<div id="login_container"></div>
<script>
    /*
* 解释一下goto参数，参考以下例子：
* var url = encodeURIComponent('http://localhost.me/index.php?test=1&aa=2');
* var goto = encodeURIComponent('https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid=appid&response_type=code&scope=snsapi_login&state=STATE&redirect_uri='+url)
*/
    const url = encodeURIComponent('http://127.0.0.1:8080/callback');
    const goto = encodeURIComponent('https://oapi.dingtalk.com/connect/qrconnect?appid=dingoai5mopxjuz54qko9f&response_type=code&scope=snsapi_login&state=STATE&redirect_uri=' + url);
    const obj = DDLogin({
        id: "login_container",//这里需要你在自己的页面定义一个HTML标签并设置id，例如<div id="login_container"></div>或<span id="login_container"></span>
        goto: goto, //请参考注释里的方式
        style: "border:none;background-color:#FFFFFF;",
        width: "365",
        height: "400"
    });
    var handleMessage = function (event) {
        var origin = event.origin;
        console.log("origin", event.origin);
        if( origin == "https://login.dingtalk.com" ) { //判断是否来自ddLogin扫码事件。
            let loginTmpCode = event.data;
            //获取到loginTmpCode后就可以在这里构造跳转链接进行跳转了

            console.log("loginTmpCode", loginTmpCode);
            location.href = 'https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid=dingoai5mopxjuz54qko9f&response_type=code&scope=snsapi_login&state=STATE&redirect_uri=http://127.0.0.1/callback&loginTmpCode='+loginTmpCode
        }
    };
    if (typeof window.addEventListener != 'undefined') {
        window.addEventListener('message', handleMessage, false);
    } else if (typeof window.attachEvent != 'undefined') {
        window.attachEvent('onmessage', handleMessage);
    }
</script>
</body>
</html>
